import cv2
import numpy as np

K = [[602.7175003324863, 0, 351.305582038406],
     [0, 601.6330312976042, 240.0929104708551],
     [0, 0, 1]]
D = [0.06712174262966401, -0.2636999208734844, 0.006484443443073637, 0.01111161327049835, 0]

MK = np.array(K, dtype=np.float)
MD = np.array(D, dtype=np.float)

def covert(point=[[0.0, 0.0]], z=1):
    point = np.array(point, dtype=np.float)
    pts_uv = cv2.undistortPoints(point, MK, MD)
    pts_uv = pts_uv * z
    return pts_uv[0][0]

print(covert([406,370],2.1))
